using System; 
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

using System; 
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

using System; 
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;


namespace WindMill.Models.Estoque.Metadata
{
    /// <summary>
    /// Produto Metadata class
    /// </summary>
    public 
      partial class ProdutoMetadata
    {
        /// <summary>
        /// Cod Produto
        /// </summary>        
        [DisplayName("Cod Produto")]
        [Required(ErrorMessage = "Cod Produto is required")]
        public long 
          CodProduto { get; 
          set; }
    
        /// <summary>
        /// Cod Classe
        /// </summary>        
        [DisplayName("Cod Classe")]
        [Required(ErrorMessage = "Cod Classe is required")]
        public int 
          CodClasse { get; 
          set; }
    
        /// <summary>
        /// Cod Tributacao
        /// </summary>        
        [DisplayName("Cod Tributacao")]
        [Required(ErrorMessage = "Cod Tributacao is required")]
        public int 
          CodTributacao { get; 
          set; }
    
        /// <summary>
        /// Desc Produto
        /// </summary>        
        [DisplayName("Desc Produto")]
        [MaxLength(58, ErrorMessage = "Desc Produto cannot be longer than 58 characters")]
        public string 
          DescProduto { get; 
          set; }
    
        /// <summary>
        /// Num Embalagem
        /// </summary>        
        [DisplayName("Num Embalagem")]
        public Nullable<decimal> 
          NumEmbalagem { get; 
          set; }
    
        /// <summary>
        /// Desc Unidade
        /// </summary>        
        [DisplayName("Desc Unidade")]
        [MaxLength(3, ErrorMessage = "Desc Unidade cannot be longer than 3 characters")]
        public string 
          DescUnidade { get; 
          set; }
    
        /// <summary>
        /// Num Trib Transferencia
        /// </summary>        
        [DisplayName("Num Trib Transferencia")]
        public Nullable<short> 
          NumTribTransferencia { get; 
          set; }
    
        /// <summary>
        /// Val Varejo
        /// </summary>        
        [DisplayName("Val Varejo")]
        public Nullable<decimal> 
          ValVarejo { get; 
          set; }
    
        /// <summary>
        /// Val Atacado
        /// </summary>        
        [DisplayName("Val Atacado")]
        public Nullable<decimal> 
          ValAtacado { get; 
          set; }
    
        /// <summary>
        /// Perc Desconto Maximo
        /// </summary>        
        [DisplayName("Perc Desconto Maximo")]
        public Nullable<decimal> 
          PercDescontoMaximo { get; 
          set; }
    
        /// <summary>
        /// Perc Ipi
        /// </summary>        
        [DisplayName("Perc Ipi")]
        public Nullable<decimal> 
          PercIpi { get; 
          set; }
    
        /// <summary>
        /// Desc Class Fiscal
        /// </summary>        
        [DisplayName("Desc Class Fiscal")]
        [MaxLength(3, ErrorMessage = "Desc Class Fiscal cannot be longer than 3 characters")]
        public string 
          DescClassFiscal { get; 
          set; }
    
        /// <summary>
        /// Ind Tipo Produto
        /// </summary>        
        [DisplayName("Ind Tipo Produto")]
        [Required(ErrorMessage = "Ind Tipo Produto is required")]
        [MaxLength(10, ErrorMessage = "Ind Tipo Produto cannot be longer than 10 characters")]
        public string 
          IndTipoProduto { get; 
          set; }
    
        /// <summary>
        /// Dt Alteracao Preco
        /// </summary>        
        [DisplayName("Dt Alteracao Preco")]
        public Nullable<System.DateTime> 
          DtAlteracaoPreco { get; 
          set; }
    
        /// <summary>
        /// Num Fabricante
        /// </summary>        
        [DisplayName("Num Fabricante")]
        [MaxLength(15, ErrorMessage = "Num Fabricante cannot be longer than 15 characters")]
        public string 
          NumFabricante { get; 
          set; }
    
        /// <summary>
        /// Cod Cadastro
        /// </summary>        
        [DisplayName("Cod Cadastro")]
        public Nullable<int> 
          CodCadastro { get; 
          set; }
    
        /// <summary>
        /// Perc Comissao
        /// </summary>        
        [DisplayName("Perc Comissao")]
        public Nullable<decimal> 
          PercComissao { get; 
          set; }
    
        /// <summary>
        /// Perc Iss
        /// </summary>        
        [DisplayName("Perc Iss")]
        [Required(ErrorMessage = "Perc Iss is required")]
        public decimal 
          PercIss { get; 
          set; }
    
        /// <summary>
        /// Perc Inss
        /// </summary>        
        [DisplayName("Perc Inss")]
        [Required(ErrorMessage = "Perc Inss is required")]
        public decimal 
          PercInss { get; 
          set; }
    
        /// <summary>
        /// Perco Promocao
        /// </summary>        
        [DisplayName("Perco Promocao")]
        public Nullable<decimal> 
          PercoPromocao { get; 
          set; }
    
        /// <summary>
        /// Dt Preco Pro Ini
        /// </summary>        
        [DisplayName("Dt Preco Pro Ini")]
        public Nullable<System.DateTime> 
          DtPrecoProIni { get; 
          set; }
    
        /// <summary>
        /// Dt Preco Pro Fin
        /// </summary>        
        [DisplayName("Dt Preco Pro Fin")]
        public Nullable<System.DateTime> 
          DtPrecoProFin { get; 
          set; }
    
        /// <summary>
        /// Ind Situacao
        /// </summary>        
        [DisplayName("Ind Situacao")]
        [MaxLength(15, ErrorMessage = "Ind Situacao cannot be longer than 15 characters")]
        public string 
          IndSituacao { get; 
          set; }
    
        /// <summary>
        /// Desc Complemento Promocao
        /// </summary>        
        [DisplayName("Desc Complemento Promocao")]
        [MaxLength(10, ErrorMessage = "Desc Complemento Promocao cannot be longer than 10 characters")]
        public string 
          DescComplementoPromocao { get; 
          set; }
    
        /// <summary>
        /// Desc Complemento
        /// </summary>        
        [DisplayName("Desc Complemento")]
        [MaxLength(50, ErrorMessage = "Desc Complemento cannot be longer than 50 characters")]
        public string 
          DescComplemento { get; 
          set; }
    
        /// <summary>
        /// Cod Produto B
        /// </summary>        
        [DisplayName("Cod Produto B")]
        public Nullable<long> 
          CodProdutoB { get; 
          set; }
    
        /// <summary>
        /// Ind Classe Tox
        /// </summary>        
        [DisplayName("Ind Classe Tox")]
        [MaxLength(3, ErrorMessage = "Ind Classe Tox cannot be longer than 3 characters")]
        public string 
          IndClasseTox { get; 
          set; }
    
        /// <summary>
        /// Desc Formulacao
        /// </summary>        
        [DisplayName("Desc Formulacao")]
        [MaxLength(50, ErrorMessage = "Desc Formulacao cannot be longer than 50 characters")]
        public string 
          DescFormulacao { get; 
          set; }
    
        /// <summary>
        /// Desc Grupo Quimico
        /// </summary>        
        [DisplayName("Desc Grupo Quimico")]
        [MaxLength(30, ErrorMessage = "Desc Grupo Quimico cannot be longer than 30 characters")]
        public string 
          DescGrupoQuimico { get; 
          set; }
    
        /// <summary>
        /// Num Volumes
        /// </summary>        
        [DisplayName("Num Volumes")]
        public Nullable<decimal> 
          NumVolumes { get; 
          set; }
    
        /// <summary>
        /// Ind Cesta Basica
        /// </summary>        
        [DisplayName("Ind Cesta Basica")]
        [MaxLength(3, ErrorMessage = "Ind Cesta Basica cannot be longer than 3 characters")]
        public string 
          IndCestaBasica { get; 
          set; }
    
        /// <summary>
        /// Num Metros Cubicos
        /// </summary>        
        [DisplayName("Num Metros Cubicos")]
        public Nullable<decimal> 
          NumMetrosCubicos { get; 
          set; }
    
        /// <summary>
        /// Ind Tipo Embalagem
        /// </summary>        
        [DisplayName("Ind Tipo Embalagem")]
        [MaxLength(1, ErrorMessage = "Ind Tipo Embalagem cannot be longer than 1 characters")]
        public string 
          IndTipoEmbalagem { get; 
          set; }
    
        /// <summary>
        /// Desc Complemento2
        /// </summary>        
        [DisplayName("Desc Complemento2")]
        [MaxLength(30, ErrorMessage = "Desc Complemento2 cannot be longer than 30 characters")]
        public string 
          DescComplemento2 { get; 
          set; }
    
        /// <summary>
        /// Ind Tipo Vasilhame
        /// </summary>        
        [DisplayName("Ind Tipo Vasilhame")]
        [MaxLength(1, ErrorMessage = "Ind Tipo Vasilhame cannot be longer than 1 characters")]
        public string 
          IndTipoVasilhame { get; 
          set; }
    
        /// <summary>
        /// Preco Promocao1
        /// </summary>        
        [DisplayName("Preco Promocao1")]
        public Nullable<decimal> 
          PrecoPromocao1 { get; 
          set; }
    
        /// <summary>
        /// Ind Estofaria
        /// </summary>        
        [DisplayName("Ind Estofaria")]
        [MaxLength(3, ErrorMessage = "Ind Estofaria cannot be longer than 3 characters")]
        public string 
          IndEstofaria { get; 
          set; }
    
        /// <summary>
        /// Ind Pintura
        /// </summary>        
        [DisplayName("Ind Pintura")]
        [MaxLength(3, ErrorMessage = "Ind Pintura cannot be longer than 3 characters")]
        public string 
          IndPintura { get; 
          set; }
    
        /// <summary>
        /// Val Preco Frete
        /// </summary>        
        [DisplayName("Val Preco Frete")]
        public Nullable<decimal> 
          ValPrecoFrete { get; 
          set; }
    
        /// <summary>
        /// Ind Retornavel
        /// </summary>        
        [DisplayName("Ind Retornavel")]
        [MaxLength(3, ErrorMessage = "Ind Retornavel cannot be longer than 3 characters")]
        public string 
          IndRetornavel { get; 
          set; }
    
        /// <summary>
        /// Num Cx Palete
        /// </summary>        
        [DisplayName("Num Cx Palete")]
        public Nullable<short> 
          NumCxPalete { get; 
          set; }
    
        /// <summary>
        /// Ind Veiculo
        /// </summary>        
        [DisplayName("Ind Veiculo")]
        [MaxLength(1, ErrorMessage = "Ind Veiculo cannot be longer than 1 characters")]
        public string 
          IndVeiculo { get; 
          set; }
    
        /// <summary>
        /// Ind KM
        /// </summary>        
        [DisplayName("Ind KM")]
        [MaxLength(1, ErrorMessage = "Ind KM cannot be longer than 1 characters")]
        public string 
          IndKM { get; 
          set; }
    
        /// <summary>
        /// Cod Marca
        /// </summary>        
        [DisplayName("Cod Marca")]
        public Nullable<int> 
          CodMarca { get; 
          set; }
    
        /// <summary>
        /// Dt Vencto Preco
        /// </summary>        
        [DisplayName("Dt Vencto Preco")]
        public Nullable<System.DateTime> 
          DtVenctoPreco { get; 
          set; }
    
        /// <summary>
        /// Cod Lote Tipo
        /// </summary>        
        [DisplayName("Cod Lote Tipo")]
        public Nullable<int> 
          CodLoteTipo { get; 
          set; }
    
        /// <summary>
        /// Cod Nbm Sh
        /// </summary>        
        [DisplayName("Cod Nbm Sh")]
        [MaxLength(12, ErrorMessage = "Cod Nbm Sh cannot be longer than 12 characters")]
        public string 
          CodNbmSh { get; 
          set; }
    
        /// <summary>
        /// Ind Substituicao Rj
        /// </summary>        
        [DisplayName("Ind Substituicao Rj")]
        [MaxLength(1, ErrorMessage = "Ind Substituicao Rj cannot be longer than 1 characters")]
        public string 
          IndSubstituicaoRj { get; 
          set; }
    
        /// <summary>
        /// Perc Margem
        /// </summary>        
        [DisplayName("Perc Margem")]
        public Nullable<decimal> 
          PercMargem { get; 
          set; }
    
        /// <summary>
        /// Perc Margem Varejo
        /// </summary>        
        [DisplayName("Perc Margem Varejo")]
        public Nullable<decimal> 
          PercMargemVarejo { get; 
          set; }
    
        /// <summary>
        /// Perc Margem Atacado
        /// </summary>        
        [DisplayName("Perc Margem Atacado")]
        public Nullable<decimal> 
          PercMargemAtacado { get; 
          set; }
    
        /// <summary>
        /// Cod Ex Tipi
        /// </summary>        
        [DisplayName("Cod Ex Tipi")]
        [MaxLength(3, ErrorMessage = "Cod Ex Tipi cannot be longer than 3 characters")]
        public string 
          CodExTipi { get; 
          set; }
    
        /// <summary>
        /// Num Genero Ncm
        /// </summary>        
        [DisplayName("Num Genero Ncm")]
        [MaxLength(8, ErrorMessage = "Num Genero Ncm cannot be longer than 8 characters")]
        public string 
          NumGeneroNcm { get; 
          set; }
    
        /// <summary>
        /// Cod Genero Produto
        /// </summary>        
        [DisplayName("Cod Genero Produto")]
        public Nullable<int> 
          CodGeneroProduto { get; 
          set; }
    
        /// <summary>
        /// Cod Lista Servico
        /// </summary>        
        [DisplayName("Cod Lista Servico")]
        public Nullable<short> 
          CodListaServico { get; 
          set; }
    
        /// <summary>
        /// Cod Classe Trib
        /// </summary>        
        [DisplayName("Cod Classe Trib")]
        public Nullable<int> 
          CodClasseTrib { get; 
          set; }
    
        /// <summary>
        /// Cod Usuario
        /// </summary>        
        [DisplayName("Cod Usuario")]
        public Nullable<int> 
          CodUsuario { get; 
          set; }
    
        /// <summary>
        /// Dt Usuario
        /// </summary>        
        [DisplayName("Dt Usuario")]
        public Nullable<System.DateTime> 
          DtUsuario { get; 
          set; }
    
        /// <summary>
        /// Qt Minima
        /// </summary>        
        [DisplayName("Qt Minima")]
        public Nullable<decimal> 
          QtMinima { get; 
          set; }
    
        /// <summary>
        /// Cod Siagro
        /// </summary>        
        [DisplayName("Cod Siagro")]
        public Nullable<int> 
          CodSiagro { get; 
          set; }
    
        /// <summary>
        /// Num Genero Ncm Anterior
        /// </summary>        
        [DisplayName("Num Genero Ncm Anterior")]
        [MaxLength(8, ErrorMessage = "Num Genero Ncm Anterior cannot be longer than 8 characters")]
        public string 
          NumGeneroNcmAnterior { get; 
          set; }
    
        /// <summary>
        /// Ind Soma Peso Nota
        /// </summary>        
        [DisplayName("Ind Soma Peso Nota")]
        [MaxLength(1, ErrorMessage = "Ind Soma Peso Nota cannot be longer than 1 characters")]
        public string 
          IndSomaPesoNota { get; 
          set; }
    
    }
}
